<?php

namespace App\Traits\GetModel;

use App\Models\Admin\Apis\ApisModel;
use App\Models\Admin\Authority\AuthoritiesModel;
use App\Models\Admin\Authority\AuthorityApisModel;
use App\Models\Admin\Authority\AuthorityButtonModel;
use App\Models\Admin\Authority\AuthorityMenusModel;
use App\Models\Admin\Menus\MenuButtonsModel;
use App\Models\Admin\Menus\MenuParametersModel;
use App\Models\Admin\Menus\MenusModel;

trait GetSuperAdminModelTrait
{
    /**
     * @return AuthoritiesModel
     */
    public function getAuthoritiesModel(): AuthoritiesModel
    {
        return loadModel('Admin\Authority\AuthoritiesModel');
    }

    /**
     * @return MenusModel
     */
    public function getMenusModel(): MenusModel
    {
        return loadModel('Admin\Menus\MenusModel');
    }

    /**
     * @return AuthorityMenusModel
     */
    public function getAuthorityMenusModel(): AuthorityMenusModel
    {
        return loadModel('Admin\Authority\AuthorityMenusModel');
    }

    /**
     * @return MenuParametersModel
     */
    public function getMenuParametersModel(): MenuParametersModel
    {
        return loadModel('Admin\Menus\MenuParametersModel');
    }

    /**
     * @return AuthorityButtonModel
     */
    public function getAuthorityButtonModel(): AuthorityButtonModel
    {
        return loadModel('Admin\Authority\AuthorityButtonModel');
    }

    /**
     * @return MenuButtonsModel
     */
    public function getMenuButtonsModel(): MenuButtonsModel
    {
        return loadModel('Admin\Menus\MenuButtonsModel');
    }

    /**
     * @return ApisModel
     */
    public function getApisModel(): ApisModel
    {
        return loadModel('Admin\Apis\ApisModel');
    }

    /**
     * @return AuthorityApisModel
     */
    public function getAuthorityApisModel(): AuthorityApisModel
    {
        return loadModel('Admin\Authority\AuthorityApisModel');
    }
}
